//
//  DOTableViewController.h
//  DooiooOnline
//
//  Created by koki on 14-11-7.
//  Copyright (c) 2014年 dooioo. All rights reserved.
//

#import <UIKit/UIKit.h>

@class ArrowView;

@protocol DYTableViewProtocol <NSObject>
- (void)pullTableView:(UITableView *)tableView isNextPage:(BOOL)isNextPage;
- (void)pullRefreshRequest;
@end

@interface HDTableViewController : UITableViewController
@property (nonatomic,assign,setter = setCurentIndex:)int curentIndex;
@property (nonatomic,copy,setter = setDataArray:)NSMutableArray* dataArray;
@property (nonatomic,copy)NSObject *selected;
@property(nonatomic, assign)int pageNum;
@property(nonatomic, assign)int totalPagesNum;
@property (nonatomic,assign)float cellHeight;
@property (nonatomic,weak)id<DYTableViewProtocol> delegate;
@property (nonatomic,assign)int prevIndex;
@property (nonatomic,strong)ArrowView*  arrowUpView;
@property(nonatomic,assign,setter=setEbableRefresh:)BOOL enableRefresh;
@property(nonatomic,assign)BOOL enableRequest;
@end

typedef enum
{
    ArrowsSate_Normal=0,
    ArrowsSate_Ready,
    ArrowsSate_Start,
    ArrowsSate_End,
    ArrowsSate_Hiden=0,
    
}ArrowsSate;


typedef enum
{
    ArrowsType_Refresh=0,
    ArrowsType_Request,
}ArrowsType;

@class ArrowView;
@protocol DOArrowViewProtocol <NSObject>
- (void)arrowView:(ArrowView*)view state:(ArrowsSate)state;
@end
@interface ArrowView : UIView
@property(nonatomic,assign,setter=setState:)ArrowsSate state;
@property(nonatomic,copy,setter=setText:)NSString* text;
@property(nonatomic,assign)ArrowsType type;
@property(nonatomic,weak)id<DOArrowViewProtocol> delegate;
@end


